草庐IT

月薪过 3w 的 软件测试 员都是怎么做到的?

全部标签

javascript - 使用依赖注入(inject)和 `done` 编写 Karma + Mocha 测试?

在既有依赖注入(inject)又完成的mocha中编写Karma单元测试的最优雅的方法是什么?依赖注入(inject):describe('cows',function(){it('fartsalot',inject(function(cow){//dostuff}))})完成:describe('cows',function(){it('fartsalot',function(done){//dostuff})})如果我想在我的单元测试中同时使用cow和done怎么办?现在,这就是我正在做的,但并不令人满意。beforeEach(inject(function(cow){this.c

javascript - 测试选项卡导航顺序

在我们的一项测试中,我们需要确保以正确的顺序执行表单内的选项卡键盘导航。问题:传统的用Protractor检查tab导航顺序的方法是什么?目前我们正在通过对表单中存在的尽可能多的输入字段重复以下步骤来解决此问题(代码如下):检查当前聚焦元素的ID(使用getId())将TAB键发送到当前获得焦点的元素这是规范示例:it("shouldnavigatewithtabcorrectly",function(){varregCodePage=newRegCodePage();browser.wait(protractor.ExpectedConditions.visibilityOf(reg

javascript - Google 跟踪代码管理器 - 页脚中的脚本怎么样?

在我们的网站上,我们在结束正文标记之前的页脚中为第三方服务(如Lotame、Peer39和GoogleAnalytics)提供了脚本标记,以避免阻止页面呈现。我们尽可能使脚本延迟或异步,但某些服务不适用于异步加载,必须保留为普通标签。我们还向我们的其他分析服务发送有关每个页面内容的大量数据,这意味着我们也选择将其包含在页脚中。我们现在正在考虑使用GoogleTagManager为我们包含外部脚本。要实现GTM,Google建议您放置他们的代码块(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':newDate().getT

javascript - 使用 Jasmine 测试 Angular Controller 中的非作用域函数

Jasmine是使用最广泛的测试框架之一,以BDD方式对javascript代码进行单元测试。我试图将它用于AngularJS组件测试。AngularJS文档提供了以下示例代码describe('PasswordController',function(){beforeEach(module('app'));var$controller;beforeEach(inject(function(_$controller_){$controller=_$controller_;}));describe('$scope.grade',function(){it('setsthestrength

javascript - 你怎么能抓取dom中的元素并在没有id的情况下应用不同的css?

我在这里有点困惑。我正在做一个动态元素,我想应用不同的css具有相同类但没有id的div。我如何将不同的css应用到具有相同类的第一个div,然后不同的css到同一类的第二个div等等......假设我将fullwidthContainer类应用于3divs对于第一个div,我想要宽度1000px,第二个我想要800px等等。我不能在这里给出id或其他类,因为它是动态生成的。请帮忙。谢谢。好的,我是用javascript做的functionemphatic(){vartotalContainers=document.getElementsByClassName('fullwidthCo

javascript - Protractor 测试元素是否为空

我想测试这个div元素为空。varmessagesDiv=element(by.id('messagesDiv'));expect(messagesDiv).to...我将如何实现? 最佳答案 我认为:expect(messagesDiv.getText()).toBe('');应该可以解决问题。更多信息here. 关于javascript-Protractor测试元素是否为空,我们在StackOverflow上找到一个类似的问题: https://stack

javascript - 为什么 jQuery 的 promise 有一个 done(),而 Mozilla 记录的 Javascript 的 promise 却没有?如果我想在 JS 中有一个 done() 怎么办?

Mozilla的JavaScript文档的Promises(参见APIpage)和jQuery的Promises(参见APIpage)之间有什么区别?Mozilla的promise好像只有2个方法:then和catch。jQuery的promise好像有更多的方法,包括:then、done、fail。(fromhere)为什么Mozilla上的JSAPI没有done()?如果我想在JavaScript中使用done()功能怎么办?我该怎么办? 最佳答案 Mozilla的javascriptpromise基于ES6standard,而

javascript - 如何测试返回 Promise 的方法

我正在编写Angular2RC5应用程序,并使用Karma和Jasmine进行单元测试。我有一个返回Promise的方法(它位于对angular的http.post的调用之上)我想在完成后运行一些断言。这样的东西是行不通的letresult=myService.getFoo();result.then(rslt=>expect(1+1).toBe(3));//theerrorislost这会创建一个“UnhandledPromiserejection”警告,但错误会被抑制并且测试通过。如何根据已解决的promise运行断言?注意事项:.catch()方法似乎不是我想要的。我不想记录或做

javascript - 在 Angular 单元测试中模拟 ngResource

我有一个看起来像这样的ngResourceMockFactory:(function(){'usestrict';angular.module('app').factory('NgResourceMock',ngResourceMockFactory);ngResourceMockFactory.$inject=[];functionngResourceMockFactory(){functionNgResourceMock(){varcontext=this;context.$promise.then=function(){context.prototype.$promise.the

javascript - 测试 JavaScript 中的对象链是否有效的好方法

这个问题在这里已经有了答案:AccessingnestedJavaScriptobjectsandarraysbystringpath(44个答案)TestforexistenceofnestedJavaScriptobjectkey(64个回答)关闭6年前。考虑这个例子:if(this.plantService.plants[id]){if(this.plantService.plants[id].Name){if(this.plantService.plants[id].Name[0])returnthis.plantService.plants[id].Name[0].value